package com.cysoft.third.echarts.component.parallel;

import java.util.Arrays;
import java.util.List;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.parallel
 * @date 2025/3/12 14:13
 * @desc
 */
public class ParallelAxisDefault {

    /**
     * 坐标轴类型
     * 可选：'value', 'category', 'time', 'log'
     * 默认值：'value'
     */
    private String type = "value";

    /**
     * 坐标轴名称
     */
    private String name;

    /**
     * 名称显示位置
     * 可选：'start', 'middle', 'end'
     * 默认值：'end'
     */
    private String nameLocation = "end";

    /**
     * 名称文字样式
     */
    private ParallelTextStyle nameTextStyle;

    /**
     * 名称与轴线距离
     * 默认值：15
     */
    private Integer nameGap = 15;

    /**
     * 名称旋转角度
     */
    private Integer nameRotate;

    /**
     * 名称截断配置
     */
    private ParallelNameTruncate nameTruncate;

    /**
     * 是否反向坐标轴
     */
    private Boolean inverse;

    /**
     * 边界留白策略
     */
    private Object boundaryGap;

    /**
     * 坐标轴最小值
     */
    private Object min;

    /**
     * 坐标轴最大值
     */
    private Object max;

    /**
     * 是否脱离0值比例
     */
    private Boolean scale;

    /**
     * 分割段数
     * 默认值：5
     */
    private Integer splitNumber = 5;

    /**
     * 最小间隔
     */
    private Integer minInterval;

    /**
     * 最大间隔
     */
    private Integer maxInterval;

    /**
     * 强制分割间隔
     */
    private Integer interval;

    /**
     * 对数轴底数
     * 默认值：10
     */
    private Integer logBase = 10;

    /**
     * 起始值
     */
    private Integer startValue;

    /**
     * 是否静态无法交互
     */
    private Boolean silent;

    /**
     * 是否触发事件
     */
    private Boolean triggerEvent;

    /**
     * 轴线配置
     */
    private ParallelAxisLine axisLine;

    /**
     * 刻度配置
     */
    private ParallelAxisTick axisTick;

    /**
     * 次刻度配置
     */
    private ParallelMinorTick minorTick;

    /**
     * 刻度标签配置
     */
    private ParallelAxisLabel axisLabel;

    /**
     * 类目数据
     */
    private List<ParallelDataItem> data = Arrays.asList();

    /**
     * 坐标轴tooltip配置
     */
    private ParallelTooltip tooltip;

    /**
     * 是否开启动画
     * 默认值：true
     */
    private Boolean animation = true;

    /**
     * 动画阈值
     * 默认值：2000
     */
    private Integer animationThreshold = 2000;

    /**
     * 初始动画时长
     * 默认值：1000
     */
    private Object animationDuration = 1000;

    /**
     * 初始动画缓动效果
     * 默认值：'cubicOut'
     */
    private String animationEasing = "cubicOut";

    /**
     * 初始动画延迟
     */
    private Object animationDelay;

    /**
     * 数据更新动画时长
     * 默认值：300
     */
    private Object animationDurationUpdate = 300;

    /**
     * 数据更新动画缓动效果
     * 默认值：'cubicInOut'
     */
    private String animationEasingUpdate = "cubicInOut";

    /**
     * 数据更新动画延迟
     */
    private Object animationDelayUpdate;
}
